package com.mars.foodserver.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.mars.foodserver.entity.User;
import com.mars.foodserver.request.UserRequest;
import com.mars.foodserver.request.WeixinUserRequest;
import com.mars.foodserver.response.UserResponse;
import com.mars.foodserver.response.base.PageInfo;

import javax.servlet.http.HttpServletRequest;

/**
 * User 接口
 *
 * @Author wq
 * @Date 2021-03-16
 **/
public interface IUserService extends IService<User> {

    /**
     * 分页
     *
     * @param request 请求参数
     * @return PageInfo<User>
     */
    PageInfo<User> page(UserRequest request);

    /**
     * 注销用户
     *
     * @param userId 用户ID
     */
    void updateStatus(Integer userId);


    /**
     * 退出登录
     *
     * @param request 请求参数
     */
    void logout(HttpServletRequest request);

    /**
     * 通过微信登录
     *
     * @param request 请求参数
     * @return User
     */
    String loginByWeixin(WeixinUserRequest request);

    /**
     * 查询用户
     *
     * @param userId userId
     * @return User
     */
    User selectById(Integer userId);
}
